<!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>cfa_to_rgb [HALCON算子参考手册]</title>
<style type="text/css">
      body {
    color: #000000;
    background-color: #ffffff;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.body_main {
    margin-left: 35px;
    margin-right: 35px;
}

@media screen and (min-width:992px) {

    .body_main {
        margin-left: 10%;
        margin-right: 10%;
    }

    table.toctable {
        width: 80%
    }
}

@media screen and (min-width:1400px) {

    .body_main {
        margin-left: 15%;
        margin-right: 15%;
    }

    table.toctable {
        width: 70%
    }
}

body>div ul ul {
    margin-left: inherit;
}

a:link {
    color: #0044cc;
}

a:link,
a:visited {
    text-decoration: none;
}

a:link:hover,
a:visited:hover {
    text-decoration: underline;
}

th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-rendering: optimizeLegibility;
    color: #666666;
}

code {
    font-family: monospace,monospace;
}

h1 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

h2 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

hr {
    border: 0;
    border-top: solid 1px #f28d26;
}

.pre {
    display: block;
    padding-bottom: 1ex;
    font-family: monospace;
    white-space: pre;
}

pre {
    font-family: monospace, monospace;
    padding: 1ex;
    white-space: pre-wrap;
}

.toc {
    font-size: 80%;
    border-top: 1px dashed #f28d26;
    border-bottom: 1px dashed #f28d26;
    padding-top: 5px;
    padding-bottom: 5px;
}

.inv {
    margin: 0;
    border: 0;
    padding: 0;
}

.banner {
    color: #666666;
    padding-left: 1em;
}

.logo {
    background-color: white;
}

.keyboard {
    font-size: 80%;
    padding-left: 3px;
    padding-right: 3px;
    border-radius: 5px;
    border-width: 1px;
    border-style: solid;
    border-color: #f28d26;
    background-color: #f3f3f3;
}

.warning {
    margin-top: 2ex;
    margin-bottom: 1ex;
    padding: 10px;
    text-align: center;
    border: 1px solid;
    color: #bb0000;
    background-color: #fff7f7
}

.imprint {
    margin-top: 1ex;
    font-size: 80%;
    color: #666666;
}

.imprinthead {
    font-weight: bolder;
    color: #666666;
}

.indexlink {
    text-align: right;
    padding-bottom: 5px;
}

.postscript {
    margin-top: 2ex;
    font-size: 80%;
    color: #666666
}

.evenrow {
    background-color: #e7e7ef;
    vertical-align: top;
}

.oddrow {
    background-color: #f7f7ff;
    vertical-align: top;
}

.headrow {
    background-color: #97979f;
    color: #ffffff;
    vertical-align: top;
}

.logorow {
    vertical-align: top;
}

.error {
    color: red;
}

.var {
    font-style: italic
}

.halconoperator {
    font-family: monospace, monospace;
}

span.operator {
    font-family: monospace, monospace;
}

span.procedure {
    font-family: monospace, monospace;
}

span.operation {
    font-family: monospace, monospace;
}

span.feature {
    font-family: Arial, Helvetica, Homerton, sans-serif;
}

ul {
    padding-left: 1.2em;
}

li.dot {
    list-style-type: square;
    color: #f28d26;
}

.breadcrumb {
    font-size: 80%;
    color: white;
    background-color: #062d64;
    margin-bottom: 20px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 15px;
}

.webbar {
    font-size: 80%;
    background-color: #dddddd;
    margin-top: 0px;
    margin-left: -35px;
    margin-right: -35px;
    margin-bottom: 0px;
    padding-top: 5px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 5px;
}

.footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-top: 1px dashed #f28d26;
    font-size: 80%;
    color: #666666;
    padding-bottom: 8px;
}

.footer .socialmedia a {
    padding-left: 7px;
}

.socialmedia {
    padding-top: 10px;
}

.copyright {
    margin-top: 19px;
}

.breadcrumb a {
    color: #ffffff;
    border-bottom: 1px solid white;
}

.breadcrumb a:link:hover,
.breadcrumb a:visited:hover {
    text-decoration: none;
    border-bottom: none;
}

.heading {
    margin-top: 1ex;
    font-size: 110%;
    font-weight: bold;
    color: #666666;
}

.text {
    color: black;
}

.example {
    font-size: 80%;
    background-color: #f3f3f3;
    border: 1px dashed #666666;
    padding: 10px;
}

.displaymath {
    display: block;
    text-align: center;
    margin-top: 1ex;
    margin-bottom: 1ex;
}

.title {
    float: left;
    padding-top: 3px;
    padding-bottom: 3px;
}

.signnote {
    font-family: Arial, Helvetica, Homerton, sans-serif;
    font-size: 80%;
    color: #666666;
    font-weight: lighter;
    font-style: italic
}

.par {
    margin-bottom: 1.5em;
}

.parhead {
    text-align: right;
}

.parname {
    float: left;
}

.pardesc {
    font-size: 85%;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-left: 2em;
}

.parcat {
    color: #666;
    font-weight: bold;
}

*[data-if=cpp],
*[data-if=c],
*[data-if=dotnet],
*[data-if=com],
*[data-if=python] {
    display: none;
}

.tabbar {
    text-align: right;
    border-bottom: 1px solid #f28d26;
    margin-bottom: 0.5em;
}

ul.tabs {
    padding-top: 3px;
    padding-bottom: 3px;
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 80%
}

ul.tabs li {
    padding-top: 3px;
    padding-bottom: 3px;
    display: inline;
    overflow: hidden;
    list-style-type: none;
    margin: 0;
    margin-left: 8px;
    border-top: 1px solid #666;
    border-left: 1px solid #666;
    border-right: 1px solid #666;
}

ul.tabs li.active {
    border-left: 1px solid #f28d26;
    border-right: 1px solid #f28d26;
    border-top: 1px solid #f28d26;
    border-bottom: 1px solid #fff;
}

ul.tabs li.inactive {
    background-color: #eee;
}

ul.tabs li a {
    padding-left: 5px;
    padding-right: 5px;
    color: #666;
}

ul.tabs li a:link:hover {
    text-decoration: none;
}

ul.tabs li.inactive a {
    color: #666;
}

ul.tabs li.active a {
    color: black;
}

dl.generic dd {
    margin-bottom: 1em;
}

.pari {
    color: olive;
}

.paro {
    color: maroon;
}

.comment {
    font-size: 80%;
    color: green;
    white-space: nowrap;
}

table.grid {
    border-collapse: collapse;
}

table.grid td {
    padding: 5px;
    border: 1px solid;
}

table.layout {
    border: 0px;
}

table.layout td {
    padding: 5px;
}

table.table {
    border-collapse: collapse;
}

table.table td {
    padding: 5px;
    border-left: 0px;
    border-right: 0px;
}

table.table tr:last-child {
    border-bottom: 1px solid;
}

table.table th {
    padding: 5px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-left: 0px;
    border-right: 0px;
}

.details_summary {
    cursor: pointer;
}

table.toctable {
    width: 100%;
}

table.toctable col:first-child {
    width: 20%;
}

table.toctable col:nth-last-child(2) {
    width: 8%;
}

table.altcolored tr:nth-child(even) {
    background-color: #f3f3f3;
}

    </style>
<!--OP_REF_STYLE_END-->
<script>
    <!--
var active_lang='hdevelop';function switchVisibility(obj,active_lang,new_lang)
{var display_style='inline';
for(var i=0;i<obj.length;i++)
{if(obj.item(i).getAttribute('data-if')==new_lang)
{obj.item(i).style.display=display_style;}
if(obj.item(i).getAttribute('data-if')==active_lang)
{obj.item(i).style.display='none';}}
return;}
function toggleLanguage(new_lang,initial)
{if(active_lang!=new_lang)
{var lis=document.getElementsByTagName('li');for(var i=0;i<lis.length;i++)
{if(lis.item(i).id=='syn-'+new_lang)
{lis.item(i).className='active';}
else
{lis.item(i).className='inactive';}}
var divs=document.getElementsByTagName('div');var spans=document.getElementsByTagName('span');switchVisibility(divs,active_lang,new_lang);switchVisibility(spans,active_lang,new_lang);if(!initial)
{setCookie("halcon_reference_language",new_lang,null,null);}
active_lang=new_lang;}
return;}
function setCookie(name,value,domain,exp_offset,path,secure)
{localStorage.setItem(name,value);}
function getCookie(name)
{return localStorage.getItem(name);}
function initialize()
{var qs=location.href.split('?')[1];var qs_lang_raw=location.href.split('interface=')[1];var qs_lang;if(qs_lang_raw)
{qs_lang=qs_lang_raw.split('#')[0];}
var cookie_lang=getCookie("halcon_reference_language");var new_lang;if((qs_lang=="hdevelop")||(qs_lang=="dotnet")||(qs_lang=="python")||(qs_lang=="cpp")||(qs_lang=="c"))
{new_lang=qs_lang;setCookie("halcon_reference_language",new_lang,null,null);}
else if((cookie_lang=="hdevelop")||(cookie_lang=="dotnet")||(cookie_lang=="python")||(cookie_lang=="cpp")||(cookie_lang=="c"))
{new_lang=cookie_lang;}
else
{new_lang="hdevelop";}
toggleLanguage(new_lang,1);return;}
-->

  </script>
</head>
<body onload="initialize();">
<div class="breadcrumb">
<br class="inv"><a href="index.html">目录</a> / <a href="toc_filters.html">过滤器</a> / <a href="toc_filters_color.html">Color</a><br class="inv">
</div>
<div class="body_main">
<div class="tabbar"><ul class="tabs">
<li id="syn-hdevelop" class="active"><a href="javascript:void(0);" onclick="toggleLanguage('hdevelop')" onfocus="blur()">HDevelop</a></li>
<li id="syn-dotnet" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('dotnet')" onfocus="blur()">.NET</a></li>
<li id="syn-python" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('python')" onfocus="blur()">Python</a></li>
<li id="syn-cpp" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('cpp')" onfocus="blur()">C++</a></li>
<li id="syn-c" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('c')" onfocus="blur()">C</a></li>
</ul></div>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<!--OP_REF_HEADER_END-->
<h1 id="sec_name">
<span data-if="hdevelop" style="display:inline;">cfa_to_rgb</span><span data-if="c" style="display:none;">cfa_to_rgb</span><span data-if="cpp" style="display:none;">CfaToRgb</span><span data-if="dotnet" style="display:none;">CfaToRgb</span><span data-if="python" style="display:none;">cfa_to_rgb</span> (算子名称)</h1>
<h2>名称</h2>
<p><code><span data-if="hdevelop" style="display:inline;">cfa_to_rgb</span><span data-if="c" style="display:none;">cfa_to_rgb</span><span data-if="cpp" style="display:none;">CfaToRgb</span><span data-if="dotnet" style="display:none;">CfaToRgb</span><span data-if="python" style="display:none;">cfa_to_rgb</span></code> — Convert a single-channel color filter array image into an RGB image.</p>
<h2 id="sec_synopsis">参数签名</h2>
<div data-if="hdevelop" style="display:inline;">
<p>
<code><b>cfa_to_rgb</b>(<a href="#CFAImage"><i>CFAImage</i></a> : <a href="#RGBImage"><i>RGBImage</i></a> : <a href="#CFAType"><i>CFAType</i></a>, <a href="#Interpolation"><i>Interpolation</i></a> : )</code></p>
</div>
<div data-if="c" style="display:none;">
<p>
<code>Herror <b>cfa_to_rgb</b>(const Hobject <a href="#CFAImage"><i>CFAImage</i></a>, Hobject* <a href="#RGBImage"><i>RGBImage</i></a>, const char* <a href="#CFAType"><i>CFAType</i></a>, const char* <a href="#Interpolation"><i>Interpolation</i></a>)</code></p>
<p>
<code>Herror <b>T_cfa_to_rgb</b>(const Hobject <a href="#CFAImage"><i>CFAImage</i></a>, Hobject* <a href="#RGBImage"><i>RGBImage</i></a>, const Htuple <a href="#CFAType"><i>CFAType</i></a>, const Htuple <a href="#Interpolation"><i>Interpolation</i></a>)</code></p>
</div>
<div data-if="cpp" style="display:none;">
<p>
<code>void <b>CfaToRgb</b>(const HObject&amp; <a href="#CFAImage"><i>CFAImage</i></a>, HObject* <a href="#RGBImage"><i>RGBImage</i></a>, const HTuple&amp; <a href="#CFAType"><i>CFAType</i></a>, const HTuple&amp; <a href="#Interpolation"><i>Interpolation</i></a>)</code></p>
<p>
<code><a href="HImage.html">HImage</a> <a href="HImage.html">HImage</a>::<b>CfaToRgb</b>(const HString&amp; <a href="#CFAType"><i>CFAType</i></a>, const HString&amp; <a href="#Interpolation"><i>Interpolation</i></a>) const</code></p>
<p>
<code><a href="HImage.html">HImage</a> <a href="HImage.html">HImage</a>::<b>CfaToRgb</b>(const char* <a href="#CFAType"><i>CFAType</i></a>, const char* <a href="#Interpolation"><i>Interpolation</i></a>) const</code></p>
<p>
<code><a href="HImage.html">HImage</a> <a href="HImage.html">HImage</a>::<b>CfaToRgb</b>(const wchar_t* <a href="#CFAType"><i>CFAType</i></a>, const wchar_t* <a href="#Interpolation"><i>Interpolation</i></a>) const  <span class="signnote">
            (
            Windows only)
          </span></code></p>
</div>
<div data-if="com" style="display:none;"></div>
<div data-if="dotnet" style="display:none;">
<p>
<code>static void <a href="HOperatorSet.html">HOperatorSet</a>.<b>CfaToRgb</b>(<a href="HObject.html">HObject</a> <a href="#CFAImage"><i>CFAImage</i></a>, out <a href="HObject.html">HObject</a> <a href="#RGBImage"><i>RGBImage</i></a>, <a href="HTuple.html">HTuple</a> <a href="#CFAType"><i>CFAType</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Interpolation"><i>interpolation</i></a>)</code></p>
<p>
<code><a href="HImage.html">HImage</a> <a href="HImage.html">HImage</a>.<b>CfaToRgb</b>(string <a href="#CFAType"><i>CFAType</i></a>, string <a href="#Interpolation"><i>interpolation</i></a>)</code></p>
</div>
<div data-if="python" style="display:none;">
<p>
<code>def <b>cfa_to_rgb</b>(<a href="#CFAImage"><i>cfaimage</i></a>: HObject, <a href="#CFAType"><i>cfatype</i></a>: str, <a href="#Interpolation"><i>interpolation</i></a>: str) -&gt; HObject</code></p>
</div>
<h2 id="sec_description">描述</h2>
<p><code><span data-if="hdevelop" style="display:inline">cfa_to_rgb</span><span data-if="c" style="display:none">cfa_to_rgb</span><span data-if="cpp" style="display:none">CfaToRgb</span><span data-if="com" style="display:none">CfaToRgb</span><span data-if="dotnet" style="display:none">CfaToRgb</span><span data-if="python" style="display:none">cfa_to_rgb</span></code> converts a single-channel color filter array
image <a href="#CFAImage"><i><code><span data-if="hdevelop" style="display:inline">CFAImage</span><span data-if="c" style="display:none">CFAImage</span><span data-if="cpp" style="display:none">CFAImage</span><span data-if="com" style="display:none">CFAImage</span><span data-if="dotnet" style="display:none">CFAImage</span><span data-if="python" style="display:none">cfaimage</span></code></i></a> into an RGB image <a href="#RGBImage"><i><code><span data-if="hdevelop" style="display:inline">RGBImage</span><span data-if="c" style="display:none">RGBImage</span><span data-if="cpp" style="display:none">RGBImage</span><span data-if="com" style="display:none">RGBImage</span><span data-if="dotnet" style="display:none">RGBImage</span><span data-if="python" style="display:none">rgbimage</span></code></i></a>.  Color
filter array images are typically generated by single-chip CCD
cameras.  The conversion from color filter array image to RGB image
is typically done on the camera itself or is performed by the device
driver of the frame grabber that is used to grab the image.  In some
cases, however, the device driver simply passes the color filter
array image through unchanged.  In this case, the corresponding
HALCON frame grabber interface typically converts the image into an
RGB image.  Hence, 该算子 <code><span data-if="hdevelop" style="display:inline">cfa_to_rgb</span><span data-if="c" style="display:none">cfa_to_rgb</span><span data-if="cpp" style="display:none">CfaToRgb</span><span data-if="com" style="display:none">CfaToRgb</span><span data-if="dotnet" style="display:none">CfaToRgb</span><span data-if="python" style="display:none">cfa_to_rgb</span></code> is normally used
if the images are not being grabbed using the HALCON frame grabber
interface (<a href="grab_image.html"><code><span data-if="hdevelop" style="display:inline">grab_image</span><span data-if="c" style="display:none">grab_image</span><span data-if="cpp" style="display:none">GrabImage</span><span data-if="com" style="display:none">GrabImage</span><span data-if="dotnet" style="display:none">GrabImage</span><span data-if="python" style="display:none">grab_image</span></code></a> or <a href="grab_image_async.html"><code><span data-if="hdevelop" style="display:inline">grab_image_async</span><span data-if="c" style="display:none">grab_image_async</span><span data-if="cpp" style="display:none">GrabImageAsync</span><span data-if="com" style="display:none">GrabImageAsync</span><span data-if="dotnet" style="display:none">GrabImageAsync</span><span data-if="python" style="display:none">grab_image_async</span></code></a>), but are
grabbed using function calls from the frame grabber SDK, and are
passed to HALCON using <a href="gen_image1.html"><code><span data-if="hdevelop" style="display:inline">gen_image1</span><span data-if="c" style="display:none">gen_image1</span><span data-if="cpp" style="display:none">GenImage1</span><span data-if="com" style="display:none">GenImage1</span><span data-if="dotnet" style="display:none">GenImage1</span><span data-if="python" style="display:none">gen_image1</span></code></a> or
<a href="gen_image1_extern.html"><code><span data-if="hdevelop" style="display:inline">gen_image1_extern</span><span data-if="c" style="display:none">gen_image1_extern</span><span data-if="cpp" style="display:none">GenImage1Extern</span><span data-if="com" style="display:none">GenImage1Extern</span><span data-if="dotnet" style="display:none">GenImage1Extern</span><span data-if="python" style="display:none">gen_image1_extern</span></code></a>.
</p>
<p>In single-chip CCD cameras, a color filter array in front of the
sensor provides (subsampled) color information.  The most frequently
used filter is the so-called Bayer filter.  The color filter array
has the following layout in this case:
<span title="1" class="displaymath"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="12.8559em" height="10.248em" viewBox="0 0 205.695190 163.968781">
<!-- Original BoundingBox: -102.847595 -81.984390 102.847595 81.984390 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmsy10_1">
      <path style="fill-rule: evenodd;" d="M192.000000 -250.000000C192.000000 -279.000000,168.000000 -303.000000,139.000000 -303.000000C110.000000 -303.000000,86.000000 -279.000000,86.000000 -250.000000C86.000000 -221.000000,110.000000 -197.000000,139.000000 -197.000000C168.000000 -197.000000,192.000000 -221.000000,192.000000 -250.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHptmr8r_46">
      <path style="fill-rule: evenodd;" d="M125.000000 -100.000000C95.000000 -100.000000,70.000000 -74.000000,70.000000 -43.000000C70.000000 -14.000000,95.000000 11.000000,124.000000 11.000000C155.000000 11.000000,181.000000 -14.000000,181.000000 -43.000000C181.000000 -74.000000,155.000000 -100.000000,125.000000 -100.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHptmr8r_66">
      <path style="fill-rule: evenodd;" d="M17.000000 -662.000000L17.000000 -643.000000C101.000000 -638.000000,113.000000 -627.000000,113.000000 -553.000000L113.000000 -109.000000C113.000000 -35.000000,100.000000 -22.000000,17.000000 -19.000000L17.000000 -0.000000L351.000000 -0.000000C429.000000 -0.000000,500.000000 -21.000000,537.000000 -55.000000C573.000000 -87.000000,593.000000 -132.000000,593.000000 -180.000000C593.000000 -224.000000,575.000000 -264.000000,544.000000 -293.000000C514.000000 -320.000000,487.000000 -332.000000,422.000000 -348.000000C474.000000 -361.000000,495.000000 -371.000000,519.000000 -392.000000C544.000000 -414.000000,559.000000 -451.000000,559.000000 -492.000000C559.000000 -604.000000,470.000000 -662.000000,297.000000 -662.000000M215.000000 -326.000000C312.000000 -326.000000,358.000000 -321.000000,394.000000 -306.000000C451.000000 -282.000000,478.000000 -242.000000,478.000000 -179.000000C478.000000 -125.000000,457.000000 -86.000000,417.000000 -63.000000C385.000000 -45.000000,344.000000 -37.000000,278.000000 -37.000000C229.000000 -37.000000,215.000000 -46.000000,215.000000 -78.000000M215.000000 -366.000000L215.000000 -595.000000C215.000000 -616.000000,222.000000 -625.000000,237.000000 -625.000000L281.000000 -625.000000C396.000000 -625.000000,457.000000 -577.000000,457.000000 -488.000000C457.000000 -410.000000,404.000000 -366.000000,310.000000 -366.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHptmr8r_71">
      <path style="fill-rule: evenodd;" d="M709.000000 -354.000000L454.000000 -354.000000L454.000000 -336.000000C497.000000 -333.000000,509.000000 -330.000000,521.000000 -322.000000C536.000000 -313.000000,542.000000 -290.000000,542.000000 -247.000000L542.000000 -85.000000C542.000000 -53.000000,481.000000 -26.000000,409.000000 -26.000000C246.000000 -26.000000,146.000000 -140.000000,146.000000 -326.000000C146.000000 -420.000000,174.000000 -511.000000,218.000000 -560.000000C262.000000 -609.000000,324.000000 -636.000000,392.000000 -636.000000C448.000000 -636.000000,497.000000 -617.000000,536.000000 -581.000000C566.000000 -553.000000,582.000000 -526.000000,607.000000 -465.000000L630.000000 -465.000000L622.000000 -676.000000L600.000000 -676.000000C594.000000 -657.000000,576.000000 -643.000000,555.000000 -643.000000C545.000000 -643.000000,529.000000 -646.000000,511.000000 -653.000000C466.000000 -668.000000,420.000000 -676.000000,375.000000 -676.000000C175.000000 -676.000000,32.000000 -529.000000,32.000000 -325.000000C32.000000 -227.000000,59.000000 -152.000000,115.000000 -93.000000C182.000000 -24.000000,278.000000 14.000000,388.000000 14.000000C474.000000 14.000000,599.000000 -21.000000,639.000000 -56.000000L639.000000 -259.000000C639.000000 -318.000000,651.000000 -331.000000,709.000000 -336.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHptmr8r_82">
      <path style="fill-rule: evenodd;" d="M659.000000 -19.000000C621.000000 -22.000000,601.000000 -32.000000,572.000000 -66.000000L366.000000 -319.000000C433.000000 -332.000000,463.000000 -344.000000,496.000000 -371.000000C528.000000 -397.000000,547.000000 -439.000000,547.000000 -486.000000C547.000000 -529.000000,534.000000 -566.000000,508.000000 -595.000000C470.000000 -636.000000,387.000000 -662.000000,293.000000 -662.000000L17.000000 -662.000000L17.000000 -643.000000C92.000000 -635.000000,102.000000 -624.000000,102.000000 -553.000000L102.000000 -120.000000C102.000000 -37.000000,92.000000 -25.000000,17.000000 -19.000000L17.000000 -0.000000L294.000000 -0.000000L294.000000 -19.000000C217.000000 -24.000000,204.000000 -37.000000,204.000000 -109.000000L204.000000 -306.000000L260.000000 -308.000000L498.000000 -0.000000L659.000000 -0.000000M204.000000 -589.000000C204.000000 -617.000000,215.000000 -625.000000,255.000000 -625.000000C380.000000 -625.000000,438.000000 -582.000000,438.000000 -488.000000C438.000000 -438.000000,417.000000 -396.000000,381.000000 -377.000000C335.000000 -351.000000,300.000000 -345.000000,204.000000 -343.000000"></path>
    </g>
  </defs>
  <path d="M0.152405 0.334473L203.847595 0.334473" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <path d="M0.471130 32.932205L0.471130 0.653214" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,8.760132 22.172470)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_71"></use>
  </g>
  <path d="M28.557953 32.932205L28.557953 0.653214" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,37.285339 22.172470)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_66"></use>
  </g>
  <path d="M56.644608 32.932205L56.644608 0.653214" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,64.933609 22.172470)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_71"></use>
  </g>
  <path d="M84.731445 32.932205L84.731445 0.653214" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,93.458664 22.172470)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_66"></use>
  </g>
  <path d="M112.818115 32.932205L112.818115 0.653214" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,121.107117 22.172470)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_71"></use>
  </g>
  <path d="M140.904770 32.932205L140.904770 0.653214" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,149.632172 22.172470)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_66"></use>
  </g>
  <path d="M168.991592 32.932205L168.991592 0.653214" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,177.280441 22.172470)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_1"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,184.364944 22.172470)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_1"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,191.449615 22.172470)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_1"></use>
  </g>
  <path d="M0.152405 33.250931L203.847595 33.250931" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <path d="M0.471130 65.848816L0.471130 33.569809" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,9.198502 55.089081)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_82"></use>
  </g>
  <path d="M28.557953 65.848816L28.557953 33.569809" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,36.846954 55.089081)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_71"></use>
  </g>
  <path d="M56.644608 65.848816L56.644608 33.569809" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,65.372009 55.089081)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_82"></use>
  </g>
  <path d="M84.731445 65.848816L84.731445 33.569809" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,93.020294 55.089081)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_71"></use>
  </g>
  <path d="M112.818115 65.848816L112.818115 33.569809" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,121.545517 55.089081)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_82"></use>
  </g>
  <path d="M140.904770 65.848816L140.904770 33.569809" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,149.193771 55.089081)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_71"></use>
  </g>
  <path d="M168.991592 65.848816L168.991592 33.569809" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,177.280441 55.089081)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_1"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,184.364944 55.089081)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_1"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,191.449615 55.089081)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_1"></use>
  </g>
  <path d="M0.152405 66.167542L203.847595 66.167542" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <path d="M0.471130 98.765244L0.471130 66.486420" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,8.760132 88.005692)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_71"></use>
  </g>
  <path d="M28.557953 98.765244L28.557953 66.486420" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,37.285339 88.005692)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_66"></use>
  </g>
  <path d="M56.644608 98.765244L56.644608 66.486420" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,64.933609 88.005692)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_71"></use>
  </g>
  <path d="M84.731445 98.765244L84.731445 66.486420" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,93.458664 88.005692)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_66"></use>
  </g>
  <path d="M112.818115 98.765244L112.818115 66.486420" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,121.107117 88.005692)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_71"></use>
  </g>
  <path d="M140.904770 98.765244L140.904770 66.486420" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,149.632172 88.005692)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_66"></use>
  </g>
  <path d="M168.991592 98.765244L168.991592 66.486420" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,177.280441 88.005692)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_1"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,184.364944 88.005692)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_1"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,191.449615 88.005692)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_1"></use>
  </g>
  <path d="M0.152405 99.084152L203.847595 99.084152" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <path d="M0.471130 131.681854L0.471130 99.402847" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,9.198502 120.922150)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_82"></use>
  </g>
  <path d="M28.557953 131.681854L28.557953 99.402847" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,36.846954 120.922150)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_71"></use>
  </g>
  <path d="M56.644608 131.681854L56.644608 99.402847" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,65.372009 120.922150)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_82"></use>
  </g>
  <path d="M84.731445 131.681854L84.731445 99.402847" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,93.020294 120.922150)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_71"></use>
  </g>
  <path d="M112.818115 131.681854L112.818115 99.402847" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,121.545517 120.922150)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_82"></use>
  </g>
  <path d="M140.904770 131.681854L140.904770 99.402847" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,149.193771 120.922150)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_71"></use>
  </g>
  <path d="M168.991592 131.681854L168.991592 99.402847" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,177.280441 120.922150)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_1"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,184.364944 120.922150)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_1"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,191.449615 120.922150)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_1"></use>
  </g>
  <path d="M0.152405 132.000748L203.847595 132.000748" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <path d="M0.471130 161.984390L0.471130 132.319458" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,12.522049 143.493591)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_46"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,12.522049 149.869614)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_46"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,12.522049 156.245789)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_46"></use>
  </g>
  <path d="M28.557953 161.984390L28.557953 132.319458" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,40.608719 143.493591)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_46"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,40.608719 149.869614)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_46"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,40.608719 156.245789)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_46"></use>
  </g>
  <path d="M56.644608 161.984390L56.644608 132.319458" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,68.695541 143.493591)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_46"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,68.695541 149.869614)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_46"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,68.695541 156.245789)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_46"></use>
  </g>
  <path d="M84.731445 161.984390L84.731445 132.319458" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,96.782211 143.493591)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_46"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,96.782211 149.869614)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_46"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,96.782211 156.245789)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_46"></use>
  </g>
  <path d="M112.818115 161.984390L112.818115 132.319458" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,124.868866 143.493591)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_46"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,124.868866 149.869614)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_46"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,124.868866 156.245789)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_46"></use>
  </g>
  <path d="M140.904770 161.984390L140.904770 132.319458" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,152.955704 143.493591)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_46"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,152.955704 149.869614)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_46"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,152.955704 156.245789)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_46"></use>
  </g>
  <path d="M168.991592 161.984390L168.991592 132.319458" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,178.830215 145.087524)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_46"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,184.586380 149.869614)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_46"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,190.342560 154.651718)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_46"></use>
  </g>
</svg></span>
Each gray value of the input image <a href="#CFAImage"><i><code><span data-if="hdevelop" style="display:inline">CFAImage</span><span data-if="c" style="display:none">CFAImage</span><span data-if="cpp" style="display:none">CFAImage</span><span data-if="com" style="display:none">CFAImage</span><span data-if="dotnet" style="display:none">CFAImage</span><span data-if="python" style="display:none">cfaimage</span></code></i></a> corresponds to
the brightness of the pixel behind the corresponding color filter.
Hence, in the above layout, the pixel (0,0) corresponds to a green
color value, while the pixel (0,1) corresponds to a blue color
value.  The layout of the Bayer filter is completely determined by
the first two elements of the first row of the image, and can be
chosen with the parameter <a href="#CFAType"><i><code><span data-if="hdevelop" style="display:inline">CFAType</span><span data-if="c" style="display:none">CFAType</span><span data-if="cpp" style="display:none">CFAType</span><span data-if="com" style="display:none">CFAType</span><span data-if="dotnet" style="display:none">CFAType</span><span data-if="python" style="display:none">cfatype</span></code></i></a>.  In particular, this
enables the correct conversion of color filter array images that
have been cropped out of a larger image (e.g., using
<a href="crop_part.html"><code><span data-if="hdevelop" style="display:inline">crop_part</span><span data-if="c" style="display:none">crop_part</span><span data-if="cpp" style="display:none">CropPart</span><span data-if="com" style="display:none">CropPart</span><span data-if="dotnet" style="display:none">CropPart</span><span data-if="python" style="display:none">crop_part</span></code></a> or <a href="crop_rectangle1.html"><code><span data-if="hdevelop" style="display:inline">crop_rectangle1</span><span data-if="c" style="display:none">crop_rectangle1</span><span data-if="cpp" style="display:none">CropRectangle1</span><span data-if="com" style="display:none">CropRectangle1</span><span data-if="dotnet" style="display:none">CropRectangle1</span><span data-if="python" style="display:none">crop_rectangle1</span></code></a>).
</p>
<p>The algorithm that is used to interpolate the RGB values is
determined by the parameter <a href="#Interpolation"><i><code><span data-if="hdevelop" style="display:inline">Interpolation</span><span data-if="c" style="display:none">Interpolation</span><span data-if="cpp" style="display:none">Interpolation</span><span data-if="com" style="display:none">Interpolation</span><span data-if="dotnet" style="display:none">interpolation</span><span data-if="python" style="display:none">interpolation</span></code></i></a>.  For
<a href="#Interpolation"><i><code><span data-if="hdevelop" style="display:inline">Interpolation</span><span data-if="c" style="display:none">Interpolation</span><span data-if="cpp" style="display:none">Interpolation</span><span data-if="com" style="display:none">Interpolation</span><span data-if="dotnet" style="display:none">interpolation</span><span data-if="python" style="display:none">interpolation</span></code></i></a> = <i><span data-if="hdevelop" style="display:inline">'bilinear'</span><span data-if="c" style="display:none">"bilinear"</span><span data-if="cpp" style="display:none">"bilinear"</span><span data-if="com" style="display:none">"bilinear"</span><span data-if="dotnet" style="display:none">"bilinear"</span><span data-if="python" style="display:none">"bilinear"</span></i>, a bilinear
interpolation is performed.  While this algorithm is very fast, it
typically leads to “zipper-like” artifacts and color artifacts at
strong edges.  For <a href="#Interpolation"><i><code><span data-if="hdevelop" style="display:inline">Interpolation</span><span data-if="c" style="display:none">Interpolation</span><span data-if="cpp" style="display:none">Interpolation</span><span data-if="com" style="display:none">Interpolation</span><span data-if="dotnet" style="display:none">interpolation</span><span data-if="python" style="display:none">interpolation</span></code></i></a> =
<i><span data-if="hdevelop" style="display:inline">'bilinear_dir'</span><span data-if="c" style="display:none">"bilinear_dir"</span><span data-if="cpp" style="display:none">"bilinear_dir"</span><span data-if="com" style="display:none">"bilinear_dir"</span><span data-if="dotnet" style="display:none">"bilinear_dir"</span><span data-if="python" style="display:none">"bilinear_dir"</span></i>, a modified version of the bilinear
interpolation is performed that may lead to fewer zipper-like
artifacts, especially at horizontal or vertical edges in the image.
The results may still exhibit color artifacts at strong edges,
however.  The runtime of this algorithm is only slightly longer than
that of bilinear interpolation.  For <a href="#Interpolation"><i><code><span data-if="hdevelop" style="display:inline">Interpolation</span><span data-if="c" style="display:none">Interpolation</span><span data-if="cpp" style="display:none">Interpolation</span><span data-if="com" style="display:none">Interpolation</span><span data-if="dotnet" style="display:none">interpolation</span><span data-if="python" style="display:none">interpolation</span></code></i></a> =
<i><span data-if="hdevelop" style="display:inline">'bilinear_enhanced'</span><span data-if="c" style="display:none">"bilinear_enhanced"</span><span data-if="cpp" style="display:none">"bilinear_enhanced"</span><span data-if="com" style="display:none">"bilinear_enhanced"</span><span data-if="dotnet" style="display:none">"bilinear_enhanced"</span><span data-if="python" style="display:none">"bilinear_enhanced"</span></i>, an enhanced version of the bilinear
interpolation is performed that produces fewer zipper-like artifacts
and color artifacts than the other two bilinear algorithms in most
cases.  The runtime of this algorithm is significantly longer than
that of the other two algorithms.
</p>
<p>If <i><span data-if="hdevelop" style="display:inline">'mmx_enable'</span><span data-if="c" style="display:none">"mmx_enable"</span><span data-if="cpp" style="display:none">"mmx_enable"</span><span data-if="com" style="display:none">"mmx_enable"</span><span data-if="dotnet" style="display:none">"mmx_enable"</span><span data-if="python" style="display:none">"mmx_enable"</span></i> is set to <i><span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span></i> (and the SIMD
instruction set is available), the internal calculations for byte
images are performed using SIMD technology for
<a href="#Interpolation"><i><code><span data-if="hdevelop" style="display:inline">Interpolation</span><span data-if="c" style="display:none">Interpolation</span><span data-if="cpp" style="display:none">Interpolation</span><span data-if="com" style="display:none">Interpolation</span><span data-if="dotnet" style="display:none">interpolation</span><span data-if="python" style="display:none">interpolation</span></code></i></a> = <i><span data-if="hdevelop" style="display:inline">'bilinear'</span><span data-if="c" style="display:none">"bilinear"</span><span data-if="cpp" style="display:none">"bilinear"</span><span data-if="com" style="display:none">"bilinear"</span><span data-if="dotnet" style="display:none">"bilinear"</span><span data-if="python" style="display:none">"bilinear"</span></i> and
<a href="#Interpolation"><i><code><span data-if="hdevelop" style="display:inline">Interpolation</span><span data-if="c" style="display:none">Interpolation</span><span data-if="cpp" style="display:none">Interpolation</span><span data-if="com" style="display:none">Interpolation</span><span data-if="dotnet" style="display:none">interpolation</span><span data-if="python" style="display:none">interpolation</span></code></i></a> = <i><span data-if="hdevelop" style="display:inline">'bilinear_dir'</span><span data-if="c" style="display:none">"bilinear_dir"</span><span data-if="cpp" style="display:none">"bilinear_dir"</span><span data-if="com" style="display:none">"bilinear_dir"</span><span data-if="dotnet" style="display:none">"bilinear_dir"</span><span data-if="python" style="display:none">"bilinear_dir"</span></i>.
</p>
<p>For <a href="#Interpolation"><i><code><span data-if="hdevelop" style="display:inline">Interpolation</span><span data-if="c" style="display:none">Interpolation</span><span data-if="cpp" style="display:none">Interpolation</span><span data-if="com" style="display:none">Interpolation</span><span data-if="dotnet" style="display:none">interpolation</span><span data-if="python" style="display:none">interpolation</span></code></i></a> = <i><span data-if="hdevelop" style="display:inline">'bilinear'</span><span data-if="c" style="display:none">"bilinear"</span><span data-if="cpp" style="display:none">"bilinear"</span><span data-if="com" style="display:none">"bilinear"</span><span data-if="dotnet" style="display:none">"bilinear"</span><span data-if="python" style="display:none">"bilinear"</span></i> and
<a href="#Interpolation"><i><code><span data-if="hdevelop" style="display:inline">Interpolation</span><span data-if="c" style="display:none">Interpolation</span><span data-if="cpp" style="display:none">Interpolation</span><span data-if="com" style="display:none">Interpolation</span><span data-if="dotnet" style="display:none">interpolation</span><span data-if="python" style="display:none">interpolation</span></code></i></a> = <i><span data-if="hdevelop" style="display:inline">'bilinear_dir'</span><span data-if="c" style="display:none">"bilinear_dir"</span><span data-if="cpp" style="display:none">"bilinear_dir"</span><span data-if="com" style="display:none">"bilinear_dir"</span><span data-if="dotnet" style="display:none">"bilinear_dir"</span><span data-if="python" style="display:none">"bilinear_dir"</span></i>, <code><span data-if="hdevelop" style="display:inline">cfa_to_rgb</span><span data-if="c" style="display:none">cfa_to_rgb</span><span data-if="cpp" style="display:none">CfaToRgb</span><span data-if="com" style="display:none">CfaToRgb</span><span data-if="dotnet" style="display:none">CfaToRgb</span><span data-if="python" style="display:none">cfa_to_rgb</span></code>
can be executed on OpenCL devices. The width of the input image should be
a multiple of four for byte images, or two for uint2 images, as the
operation will be much slower otherwise.</p>
<h2 id="sec_execution">运行信息</h2>
<ul>
    
      <li>支持OpenCL计算设备。</li>
    
  <li>多线程类型:可重入(与非独占操作符并行运行)。</li>
<li>多线程作用域:全局(可以从任何线程调用)。</li>
  
    <li>在元组级别自动并行化。</li>
    <li>Automatically parallelized on  domain level.</li>
  
</ul>
<h2 id="sec_parameters">参数表</h2>
  <div class="par">
<div class="parhead">
<span id="CFAImage" class="parname"><b><code><span data-if="hdevelop" style="display:inline">CFAImage</span><span data-if="c" style="display:none">CFAImage</span><span data-if="cpp" style="display:none">CFAImage</span><span data-if="com" style="display:none">CFAImage</span><span data-if="dotnet" style="display:none">CFAImage</span><span data-if="python" style="display:none">cfaimage</span></code></b> (input_object)  </span><span>singlechannelimage(-array) <code>→</code> <span data-if="hdevelop" style="display:inline">object</span><span data-if="dotnet" style="display:none"><a href="HImage.html">HImage</a></span><span data-if="python" style="display:none">HObject</span><span data-if="cpp" style="display:none"><a href="HImage.html">HImage</a></span><span data-if="c" style="display:none">Hobject</span> (byte* / uint2*)<i> *allowed for compute devices</i></span>
</div>
<p class="pardesc">Input image.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="RGBImage" class="parname"><b><code><span data-if="hdevelop" style="display:inline">RGBImage</span><span data-if="c" style="display:none">RGBImage</span><span data-if="cpp" style="display:none">RGBImage</span><span data-if="com" style="display:none">RGBImage</span><span data-if="dotnet" style="display:none">RGBImage</span><span data-if="python" style="display:none">rgbimage</span></code></b> (output_object)  </span><span>multichannel-image(-array) <code>→</code> <span data-if="hdevelop" style="display:inline">object</span><span data-if="dotnet" style="display:none"><a href="HImage.html">HImage</a></span><span data-if="python" style="display:none">HObject</span><span data-if="cpp" style="display:none"><a href="HImage.html">HImage</a></span><span data-if="c" style="display:none">Hobject *</span> (byte / uint2)</span>
</div>
<p class="pardesc">Output image.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="CFAType" class="parname"><b><code><span data-if="hdevelop" style="display:inline">CFAType</span><span data-if="c" style="display:none">CFAType</span><span data-if="cpp" style="display:none">CFAType</span><span data-if="com" style="display:none">CFAType</span><span data-if="dotnet" style="display:none">CFAType</span><span data-if="python" style="display:none">cfatype</span></code></b> (input_control)  </span><span>string <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">str</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Color filter array type.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>
    <span data-if="hdevelop" style="display:inline">'bayer_gb'</span>
    <span data-if="c" style="display:none">"bayer_gb"</span>
    <span data-if="cpp" style="display:none">"bayer_gb"</span>
    <span data-if="com" style="display:none">"bayer_gb"</span>
    <span data-if="dotnet" style="display:none">"bayer_gb"</span>
    <span data-if="python" style="display:none">"bayer_gb"</span>
</p>
<p class="pardesc"><span class="parcat">List of values:
      </span><span data-if="hdevelop" style="display:inline">'bayer_bg'</span><span data-if="c" style="display:none">"bayer_bg"</span><span data-if="cpp" style="display:none">"bayer_bg"</span><span data-if="com" style="display:none">"bayer_bg"</span><span data-if="dotnet" style="display:none">"bayer_bg"</span><span data-if="python" style="display:none">"bayer_bg"</span>, <span data-if="hdevelop" style="display:inline">'bayer_gb'</span><span data-if="c" style="display:none">"bayer_gb"</span><span data-if="cpp" style="display:none">"bayer_gb"</span><span data-if="com" style="display:none">"bayer_gb"</span><span data-if="dotnet" style="display:none">"bayer_gb"</span><span data-if="python" style="display:none">"bayer_gb"</span>, <span data-if="hdevelop" style="display:inline">'bayer_gr'</span><span data-if="c" style="display:none">"bayer_gr"</span><span data-if="cpp" style="display:none">"bayer_gr"</span><span data-if="com" style="display:none">"bayer_gr"</span><span data-if="dotnet" style="display:none">"bayer_gr"</span><span data-if="python" style="display:none">"bayer_gr"</span>, <span data-if="hdevelop" style="display:inline">'bayer_rg'</span><span data-if="c" style="display:none">"bayer_rg"</span><span data-if="cpp" style="display:none">"bayer_rg"</span><span data-if="com" style="display:none">"bayer_rg"</span><span data-if="dotnet" style="display:none">"bayer_rg"</span><span data-if="python" style="display:none">"bayer_rg"</span></p>
</div>
  <div class="par">
<div class="parhead">
<span id="Interpolation" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Interpolation</span><span data-if="c" style="display:none">Interpolation</span><span data-if="cpp" style="display:none">Interpolation</span><span data-if="com" style="display:none">Interpolation</span><span data-if="dotnet" style="display:none">interpolation</span><span data-if="python" style="display:none">interpolation</span></code></b> (input_control)  </span><span>string <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">str</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Interpolation type.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>
    <span data-if="hdevelop" style="display:inline">'bilinear'</span>
    <span data-if="c" style="display:none">"bilinear"</span>
    <span data-if="cpp" style="display:none">"bilinear"</span>
    <span data-if="com" style="display:none">"bilinear"</span>
    <span data-if="dotnet" style="display:none">"bilinear"</span>
    <span data-if="python" style="display:none">"bilinear"</span>
</p>
<p class="pardesc"><span class="parcat">List of values:
      </span><span data-if="hdevelop" style="display:inline">'bilinear'</span><span data-if="c" style="display:none">"bilinear"</span><span data-if="cpp" style="display:none">"bilinear"</span><span data-if="com" style="display:none">"bilinear"</span><span data-if="dotnet" style="display:none">"bilinear"</span><span data-if="python" style="display:none">"bilinear"</span>, <span data-if="hdevelop" style="display:inline">'bilinear_dir'</span><span data-if="c" style="display:none">"bilinear_dir"</span><span data-if="cpp" style="display:none">"bilinear_dir"</span><span data-if="com" style="display:none">"bilinear_dir"</span><span data-if="dotnet" style="display:none">"bilinear_dir"</span><span data-if="python" style="display:none">"bilinear_dir"</span>, <span data-if="hdevelop" style="display:inline">'bilinear_enhanced'</span><span data-if="c" style="display:none">"bilinear_enhanced"</span><span data-if="cpp" style="display:none">"bilinear_enhanced"</span><span data-if="com" style="display:none">"bilinear_enhanced"</span><span data-if="dotnet" style="display:none">"bilinear_enhanced"</span><span data-if="python" style="display:none">"bilinear_enhanced"</span></p>
</div>
<h2 id="sec_result">结果</h2>
<p><code><span data-if="hdevelop" style="display:inline">cfa_to_rgb</span><span data-if="c" style="display:none">cfa_to_rgb</span><span data-if="cpp" style="display:none">CfaToRgb</span><span data-if="com" style="display:none">CfaToRgb</span><span data-if="dotnet" style="display:none">CfaToRgb</span><span data-if="python" style="display:none">cfa_to_rgb</span></code> returns <TT>2</TT> (
      <TT>H_MSG_TRUE</TT>)
     if all parameters are correct.  If
the input is empty the behavior can be set via
<a href="set_system.html"><code><span data-if="hdevelop" style="display:inline">set_system(::'no_object_result', &lt;Result&gt;:)</span><span data-if="c" style="display:none">set_system("no_object_result", &lt;Result&gt;)</span><span data-if="cpp" style="display:none">SetSystem("no_object_result", &lt;Result&gt;)</span><span data-if="com" style="display:none">SetSystem("no_object_result", &lt;Result&gt;)</span><span data-if="dotnet" style="display:none">SetSystem("no_object_result", &lt;Result&gt;)</span><span data-if="python" style="display:none">set_system("no_object_result", &lt;Result&gt;)</span></code></a>.  If necessary,
an exception is raised.</p>
<h2 id="sec_predecessors">可能的前置算子</h2>
<p>
<code><a href="gen_image1_extern.html"><span data-if="hdevelop" style="display:inline">gen_image1_extern</span><span data-if="c" style="display:none">gen_image1_extern</span><span data-if="cpp" style="display:none">GenImage1Extern</span><span data-if="com" style="display:none">GenImage1Extern</span><span data-if="dotnet" style="display:none">GenImage1Extern</span><span data-if="python" style="display:none">gen_image1_extern</span></a></code>, 
<code><a href="gen_image1.html"><span data-if="hdevelop" style="display:inline">gen_image1</span><span data-if="c" style="display:none">gen_image1</span><span data-if="cpp" style="display:none">GenImage1</span><span data-if="com" style="display:none">GenImage1</span><span data-if="dotnet" style="display:none">GenImage1</span><span data-if="python" style="display:none">gen_image1</span></a></code>, 
<code><a href="grab_image.html"><span data-if="hdevelop" style="display:inline">grab_image</span><span data-if="c" style="display:none">grab_image</span><span data-if="cpp" style="display:none">GrabImage</span><span data-if="com" style="display:none">GrabImage</span><span data-if="dotnet" style="display:none">GrabImage</span><span data-if="python" style="display:none">grab_image</span></a></code>
</p>
<h2 id="sec_successors">可能的后置算子</h2>
<p>
<code><a href="decompose3.html"><span data-if="hdevelop" style="display:inline">decompose3</span><span data-if="c" style="display:none">decompose3</span><span data-if="cpp" style="display:none">Decompose3</span><span data-if="com" style="display:none">Decompose3</span><span data-if="dotnet" style="display:none">Decompose3</span><span data-if="python" style="display:none">decompose3</span></a></code>
</p>
<h2 id="sec_see">参考其它</h2>
<p>
<code><a href="trans_from_rgb.html"><span data-if="hdevelop" style="display:inline">trans_from_rgb</span><span data-if="c" style="display:none">trans_from_rgb</span><span data-if="cpp" style="display:none">TransFromRgb</span><span data-if="com" style="display:none">TransFromRgb</span><span data-if="dotnet" style="display:none">TransFromRgb</span><span data-if="python" style="display:none">trans_from_rgb</span></a></code>
</p>
<h2 id="sec_module">模块</h2>
<p>
Foundation</p>
<!--OP_REF_FOOTER_START-->
<hr>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div class="footer">
<div class="copyright">HALCON算子参考手册 Copyright © 2015-2023 51Halcon</div>
</div>
</div>
</body>
</html>
